The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
With the proliferation of smart phones, digital cameras, and other portable devices capable of capturing images and video, an ever-increasing amount of digital media data is being captured each year. Due to the limited storage capacities of portable devices, much of this media data is either quickly discarded or uploaded to cloud-based servers in largely unedited forms that are not ideal for sharing with others. Many cloud-based video services offer server-based editing tools for video uploaded to their systems, though these services are typically quite limited and require extensive computing resources such as large video rendering farms on the part of the video service provider.
Some consumers store their media data on personal storage servers. Utilizing high-power personal computing systems, such consumers may even edit their media data using any of a number of non-linear video editing software applications. However, many consumers find the process of editing their video data locally to be cumbersome, or lack a suitably-powered system for editing their media data, particularly if that media data is in a higher definition format.
Meanwhile, for power users who wish to create highly-customized media projects, most video editing software applications are limited to a small, canned set of special effects and animations. Those capable of higher-levels of customization are often difficult to use and limited to supporting locally stored media in only a handful of formats. Such tools may also require long rendering times to visualize effects, or large rendering farms to output video in a manageable amount of time.
Moreover, many video editing software applications lack the ability to easily share and reuse media data in the cloud. For instance, if a user wishes to create and share a video that includes clips from an Internet-based media stream, the media stream must typically be downloaded, processed, and re-encoded, which greatly increases the resources necessary to create and share the video.